衝啊!pointer!
今日主題:指標與二維陣列
由之前例如得知,一維陣列的元素值,可利用一個[ ]或一個指標來得到。而二維陣列,則需要以下方法,才行獲得元素值。
(1)兩個指標
(2)一個指標一個 [ ]
(3)兩個 [ ][ ]
除此之外,只能得到陣列元素的位址。
假設一個二維陣列定義如下:
int arr[2][3] = {1,2,3,4,5,6};
則以下意思為:
(1)arr,arr[0] : 第一列第1個元素位址
(2)arr[0]+1 : 第一列第2個元素位址
(3)arr+1,arr[1] : 第二列第1個元素位址
(4)*(arr+1)+1,arr[1]+1 : 第二列第2個元素位址
#include <iostream>
using namespace std;
int main(){
int arr[2][3] = {1, 2, 3, 4, 5, 6};
cout << "arr: " << arr << "\t// 第一列第1個元素位址" << endl;
cout << "arr[0]: " << arr[0] << "\t // 第一列第1個元素位址" << "\n\n";
cout << "arr[0] + 1: " << arr[0] + 1 << "\t // 第一列第2個元素位址" << "\n\n";
cout << "arr + 1: " << arr + 1 << "\t// 第二列第1個元素位址" << endl;
cout << "arr[1]: " << arr[1] << "\t// 第二列第1個元素位址" << "\n\n";
cout << "*(arr + 1) + 1: " << *(arr + 1) + 1 << "\t // 第二列第2個元素位址" << endl;
cout << "arr[1] + 1: " << arr[1] + 1 << "\t // 第二列第2個元素位址" << endl;
}